1. Histogram

1.1. 概要

Histogram(ヒストグラム)とは,例えば下図のように,

1.2. Plotlyによる作図方法

Plotlyでは,plotly.express.histogram()でヒストグラムを作成可能です.

import plotly.express as px
fig = px.histogram(df, x='col_x')

上記の例では,dfcol_x列をX軸,その度数をY軸に取ったヒストグラムのオブジェクトfigを作成します.

1.3. MADB Labを用いた作図例

1.3.1. 下準備

import pandas as pd
import plotly.express as px

import warnings
warnings.filterwarnings('ignore')
# 前処理の結果,以下に分析対象ファイルが格納されていることを想定
PATH_DATA = '../../data/preprocess/out/magazines.csv'
# Jupyter Book用のPlotlyのrenderer
RENDERER = 'plotly_mimetype+notebook'
def show_fig(fig):
    """Jupyter Bookでも表示可能なようRendererを指定"""
    fig.show(renderer=RENDERER)
df = pd.read_csv(PATH_DATA)

1.3.2. 作品別の合計連載週数

df_plot = df.value_counts('cname').reset_index(name='weeks')
fig = px.histogram(
    df_plot, x='weeks', nbins=100)
show_fig(fig)

```{admonition} nbinsオプション plotly.express.histogram()ではnbinsオプジョンでbin数を指定可能です.上記の例では,自動設定で作図するとbinが非常に細かくなってしまうため,便宜的にnbins=100`をしています.


掲載週が短い作品が多すぎて見ずらいため,Y軸を対数変換してみます.

fig = px.histogram(
    df_plot, x='weeks', nbins=100, log_y=True)
show_fig(fig)

これでかなり見やすくなりました.

1.3.3. 作者別の合計連載週数

df_plot = df.value_counts('creator').reset_index(name='weeks')
fig = px.histogram(df_plot, x='weeks', nbins=100)
show_fig(fig)

こちらに関しても,かなり0に寄ったヒストグラムとなってしまったため,Y軸を対数変換します.

fig = px.histogram(df_plot, x='weeks', nbins=100, log_y=True)
show_fig(fig)

見やすくなりました.